#pragma once

// 14 bytes
typedef struct
{
	unsigned char dest[6];
	unsigned char src[6];
	unsigned char type[2];						// 0x22F0(AVBTP)		*
} EthernetFrameHeader;


// 40 bytes
typedef struct
{
	// offset 0
	unsigned char	type;						// 0x00
	unsigned char	param_1;					// 0x83
	unsigned char	sequence_number;			//						*
	unsigned char	reserved_1;					// 0x00

	// offset 4
	unsigned char	stream_id[8];
	unsigned char	avtp_timestamp[4];
	unsigned char	gateway_info[4];

	// offset 20
	unsigned char	stream_data_length[2];		//	->> 0x03E0 -> 992				*
	unsigned char	param_2[2];

	// offset 24
	unsigned char	source_id;					// 0x3F
	unsigned char	data_block_size;			// 0xF8 ->> 6
	unsigned char	param_3;					// 0x00
	unsigned char	data_block_count;			// continuity ?  ->> same as sequence_number

	// offset 28
	unsigned char	param_4;
	unsigned char	format_dependent_field[3];

	// offset 32, dummy
	unsigned char	dummy_1[8];

	// offset 40, payload
//	unsigned char	payload;

} IEEE1722Header;



// 10 bytes
typedef struct
{
	// offset 0
	unsigned char	stream_data_length[2];

	// dummy
	unsigned char	dummy_1[8];

	// payload
//	unsigned char	payload;
} Raw264Header;

